草庐IT

ModBus RTU与ModBus TCP通信协议详解

全部标签

java - 在同一 EAR 中的 WAR 之间进行通信的选项

您有哪些选项可以在EAR中的WAR之间进行通信?我们有几个WAR,提供在一个EAR中部署的不同Web服务。为了他们的任务,他们需要与其他WAR进行通信。当然,他们可以使用网络服务进行通信。还有哪些其他可能更有效的选择?编辑:通信的原因是模块使用了一些共享功能,我们只想将此功能放在一个地方,因为它需要大量资源。此外,这需要同步通信。 最佳答案 首先,你应该清楚你分享的是什么。您应该区分服务和库。库让您共享通用功能,这就是您在使用log4j库时实现的目标。在这种情况下,您在每个使用它的项目中设置log4j。另一方面,您可以拥有集中式日志

java - Java Applet <--> Javascript 通信问题

我无法让JavaApplet与托管该applet的页面上的Javascript代码进行通信。它有时会工作,但有时会抛出一个模糊的异常,谷歌搜索没有找到任何有用的信息,除了一些从UnresolvedJava错误报告(感谢Sun)。这是我使用的代码:JSObjectwin=JSObject.getWindow(this);Object[]args=newObject[1];args[0]="testargument";Stringresult=(String)win.call("testJSfunc",args);//XXX这是我在标记为//XXX的行中得到的异常。请注意,它是间歇性的。它

@EqualsAndHashCode注解详解

首先该注解的作用:1. 此注解会生成equals(Objectother) 和 hashCode()方法。2. 它默认使用非静态,非瞬态的属性3. 通过参数exclude指定排除属性4. 通过参数of指定使用的属性5. @EqualsAndHashCode(callSuper...),callSuper默认为false,即默认不适用父类中属性判断下面上代码说明父类 Animal          子类Cat          分几种情况测试看结果        1.不指定@EqualsAndHashCode属性         默认callSuper=false,结果为true    2.指定

java - 如何使用 Google protobuf 通过串行端口进行通信?

我正在从事一个使用RXTX的项目和protobuf与开发板上的应用程序通信,我遇到了一些问题,这意味着我可能以错误的方式做事。这是我目前将请求写入董事会的内容(读取代码类似):publicvoidwrite(CableCommandRequestrequest,OutputStreamout){CodedOutputStreamoutStream=CodedOutputStream.newInstance(out);request.writeTo(outStreatm);outStream.flush();}以下是用于准备RXTX串行连接的设置,它反过来提供write命令使用的Outp

java - 在 Java 中分离协议(protocol)解析器和处理程序

我正在使用一个简单的二进制协议(protocol)。每个数据包由10个字节组成。第一个字节指定数据包类型。使用了很多(~50)种数据包类型。我想为此协议(protocol)编写一个独立于数据包处理的通用解析器。所以解析器应该检测数据包类型并将数据放入适当的数据包类的实例中,该类包含协议(protocol)数据。例如,考虑以下类:当解析器检测到数据包类型1-->newType1()并读取原始字节并设置温度和湿度。对于数据包类型2和所有其他数据包类型也是如此。classPacket{byte[]raw;}classType1extendsPacket{inttemperature;inth

java - 无法使用kafka Producer API与kafka服务器通信

我已经在单个节点上设置了kafka,并启动了zookeeper和kafka服务器。我在控制台上针对内部生产者和消费者对其进行了测试,并且运行良好。但是当我在控制台上运行内部kafka消费者时,我的自定义生产者它不起作用。下面是我的Producer类Propertiesprops=newProperties();props.put("metadata.broker.list","xx.xx.xx.xx:9092");props.put("serializer.class","kafka.serializer.StringEncoder");props.put("partitioner.c

java - Java 中可靠的 UDP 协议(protocol)实现——为什么会这样?

我目前正在使用ReliableUDP协议(protocol)的Java实现,发现here.该项目完全没有教程,所以我发现很难发现问题。我已经设置了客户端和服务器。服务器在localhost:1234上运行,客户端在localhost:1235上运行。服务器首先建立,并循环监听连接-try{ReliableSocketclientSocket=server.socket.accept();InetSocketAddressclientAddress=(InetSocketAddress)clientSocket.getRemoteSocketAddress();Logger.getLog

java arduino串口通信

我正在尝试设置java-arduino串行通信。到目前为止,我从Arduino页面(http://playground.arduino.cc/interfacing/java)下载了代码,但出现错误。代码:importjava.io.BufferedReader;importjava.io.InputStreamReader;importjava.io.OutputStream;importgnu.io.CommPortIdentifier;importgnu.io.SerialPort;importgnu.io.SerialPortEvent;importgnu.io.SerialP

java - 使用 Java 的 BitTorrent 协议(protocol) - 成功握手后的位字段

成功发送和接收来自多个点的握手后,BitTorrent消息链的下一步是位域消息。bitfield消息如下所示,其中顶行解释了协议(protocol)段的字节大小:我遇到的问题是,几乎所有对等方似乎都在发送与上述表示不同的位域消息!消息往往看起来像这样:size:332,[0,0,0,112,5,127,-1,-1,-1,-1,-5,-1,-1,-1,-1,-1,-17...]第一个问题是我收到的大多数消息都有长度字节:[0,0,0,112]即使在这种情况下接收到的消息总共包含332个字节,而在其他一些情况下,消息可能只有80个字节左右。第二个问题是这些位通常重复-1或其他一些奇怪的负值

java - 如何与3D打印机正确通信

我必须编写一个java程序,通过网络接收G代码命令,并通过串行通信将它们发送到3D打印机。原则上一切似乎都没有问题,只要打印机需要超过300ms来执行一条命令。如果执行时间短于此,则打印机接收下一条命令需要花费太多时间,导致命令执行之间存在延迟(打印机喷嘴静止约100-200毫秒)。这可能成为3d打印中的一个问题,所以我必须消除这种延迟。作为比较:RepetierHost或Cura等软件可以通过seial发送相同的命令,而命令执行之间没有任何延迟,因此它必须以某种方式成为可能。我使用jSerialComm串行通信库。这是向打印机发送命令的线程:@Overridepublicvoidru